GtkScaleButton: Set +/- sensitivity
authorMatthias Clasen <mclasen@redhat.com>
Tue, 8 Jul 2014 14:27:30 +0000 (10:27 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 8 Jul 2014 14:27:30 +0000 (10:27 -0400)
The buttons should go insensitive when we are at their end of
the scale.

gtk/gtkscalebutton.c

index 11aee50c6b86ef512eb9d32ad7e5802a2ff72cb0..b4bda76656f5c12fdee09086e8a14072b1b78c14 100644 (file)
@@ -1040,11 +1040,17 @@ cb_scale_value_changed (GtkRange *range,
 {
   GtkScaleButton *button = user_data;
   gdouble value;
+  gdouble upper, lower;
 
   value = gtk_range_get_value (range);
+  upper = gtk_adjustment_get_upper (button->priv->adjustment);
+  lower = gtk_adjustment_get_lower (button->priv->adjustment);
 
   gtk_scale_button_update_icon (button);
 
+  gtk_widget_set_sensitive (button->priv->plus_button, value < upper);
+  gtk_widget_set_sensitive (button->priv->minus_button, lower < value);
+
   g_signal_emit (button, signals[VALUE_CHANGED], 0, value);
   g_object_notify (G_OBJECT (button), "value");
 }